Amazon Q in QuickSight ハンズオンのご紹介
コーヒーが好きな emi です。
Amazon QuickSight はいくつかセルフハンズオンキットが日本語で提供されています。
特に以下の「Amazon QuickSight 可視化 BASIC 編」では、Amazon Q in QuickSight のハンズオンも提供されています、
このハンズオンでは Amazon Q in QuickSight を使用する Generative BI 機能のみを体験することもできますので、今回は Amazon Q in QuickSight ハンズオン部分を紹介します。実施したのは以下リンクの部分です。
0. ハンズオンの構成図
Amazon Q in QuickSight の部分のみ抜き出して書くとこんな感じです。
Q in QuickSight は東京リージョンでサポートされていないので、バージニア北部リージョン で実施します。
日本語対応がまだなので、多くの表示が英語になっています。今回のハンズオンでは可視化する元データが日本語なので一部日本語での自然言語問い合わせにも反応することがありますが、基本的には英語で問い合わせしないと応答が返ってきにくいです。
Q in QuickSight で特徴的なのは「トピック」と「Data stories(データストーリー)」という項目が追加されているところです。後述します。
Q in QuickSight ハンズオンで提供されているデータは携帯電話事業者の様々なデータです。
サービスの利用状況、解約率、契約者の居住地、顧客行動データなどを可視化しています。
このワークショップでは、携帯電話事業者のマーケティング部門のマーケティングアナリストが、サービスの利用状況やその他の顧客行動データから、解約リスクの原因となる要因を特定できることができるダッシュボードを作ることを目的にしています。それにより、ターゲットを絞った顧客維持キャンペーンの実施など、予測される行動を変えるための是正措置を講じることできます。
SageMaker連携とGenerative BIを使用してダッシュボードを作成する
1. ハンズオンの事前準備
ハンズオン内で提供されている CloudFormation テンプレートでリソースを作成します。S3 からのデータの引き込みと QuickSight のアセット(データセット、分析、Q トピック)が作成された状態になります。
以降は、既に作成されている分析に自然言語で問い合わせて編集したり、ビジュアルを追加したりしていきます。
2. 分析にトピックをリンクする
こちらは CloudFormation で作成済みの分析を開いた画面です。画面上部に Q のアイコンと「Build visual」というボタンがありますが、このボタンの右の三点リーダをクリックすると「Topic Linking」というメニューがあり、トピックと分析をリンクできます。
リンクするトピックを選びます。
3. トピックとは
トピックは一言で説明しにくいのですが、データセットに含まれる情報がどういうものでどんな意味を持つかを登録しておく場所、とでも言いましょうか。データセットのインデックス(索引)のようなものです。
データセットに含まれるカラムに、以下のような要素を登録しておきます。
Include | そのフィールドをトピックに含めるかどうか。必要に応じてフィールドを除外したり追加のフィールドを含めたりできる |
Friendly name(フレンドリー名) | フィールドの名前 |
Synonyms(シノニム。同義語) | フィールドの内容に似た言葉を登録しておく。企業独自の用語等、一般的に使われない語の意味や、言い方・表現に揺らぎがある語を登録しておく |
Details(詳細) | その他詳細情報 |
分析やダッシュボードを作成していない状態でも、トピックを作成しておけば、データセット自体に自然言語で Q&A を行えます。
十分にキュレーションされたトピックを分析にリンクすると、ビジュアルの作成と Q&A のエクスペリエンスが向上します。 「キュレーション(curation)」とは、情報を選んで集めて整理することです。
トピック画面はこのようになっています。ハンズオンの CloudFormation によって既に 1 つトピックが作成されています。
フレンドリー名やシノニムは Data タブの「DATA FIELDS」でこのように登録されています。
機械学習機能により、トピックを自動生成することもできます。
トピックが作成されると、定義された文字列データのインデックスが作成され格納されます。インデックスを利用することで、質問に返答したり、その他の質問を提案したりします。
定期的にインデックスを更新し、最新の定義と値を保持する必要があります。
また、定義されたディメンションのデータが多いとインデックスの作成に時間がかかりますので、どの項目をトピックに含めるか検討する必要があるそうです。
4. Build visual
Build visual は、分析画面で自然言語で問い合わせすることでビジュアルを作成できる機能です。
分析を開くと画面上部に「Build visual」があるのでクリックすると、
画面右に自然言語で問い合わせする画面が生えてきます。
「Total charge by prefecture
(都道府県別料金合計)」と入力して「BUILD」をクリックすると、
このように Filled Map(塗りつぶされたマップ) を使用した日本地図のビジュアルが表示されます。「Interpreted as:Total 全利用請求料金 by 都道府県.」の部分で、問い合わせた内容が Q にどのように解釈されたか表示されています。
「ADD TO ANALYSIS」で、自動生成された日本地図ビジュアルを分析のシートに追加できます。
分析のシートに、自然言語で問い合わせて自動作成されたビジュアルを追加できました。
5. 計算フィールドを自然言語問い合わせで作成する
Generative BI 機能を使用して、計算フィールドを自然言語問い合わせで生成していきます。
分析画面で「+計算フィールド」をクリックします。
Q のマークがついた「計算を作成」ボタンがあるのでクリックします。
まず日本語で「電話番号数に対する解約の割合
」と入力して作成ボタンをクリックします。残念ながらうまく生成できませんでした。
次はハンズオンで指定されたプロンプト「cancellation ratio versus unique phone numbers
」を入力してみましたが、これも生成できませんでした。むむ…
解約部分の計算式だけでも生成したいので、「解約がTrueの場合の電話番号数
」と日本語で入力すると…日本語の問い合わせで計算が生成できました!
日本語でも部分的に動くんだな~~と思ったのですが、後から考えたらトピックに日本語や類義語が登録されているから解釈できただけなのかもしれません。
ちなみに生成できた計算式は今回ハンズオンで生成したかった計算式ではなかったので、このまま破棄します。残念。
「解約がTrueの場合の電話番号数」を英語で「the unique number of phone whose cancellation are True
」と問い合わせると、ハンズオンで求めていた計算式の一部が正しく生成されました。「挿入」をクリックして計算式を登録します。
割合を出したいので、何とか全体の電話番号数を生成したいです。「電話番号数
」と問い合わせると計算式が生成されましたが、求めている式ではありません…。
最終的に、画面下部に挿入した計算式を手動で直してしまいました。完璧に自動生成するのは難しいですね。直接手で編集できるので良かったです。
作成した計算フィールドは「cancellation ratio」と名前を付けて保存します。
6. 自然言語問い合わせでビジュアルを編集する
Generative BI 機能を使用してビジュアルを編集します。
ビジュアルを選択すると右上に「Q で編集」という Q のマークが出るので、クリックして「change the visual to cluster combo bar chart and add cancellation ratio to Line
(ビジュアルをクラスターコンボバーチャートに変更し、キャンセル比率を Line に追加する)」と入力します。
ビジュアルの見た目が変わりました。
7. トピックの更新
「5. 計算フィールドを自然言語問い合わせで作成する」で分析上に新たに計算フィールドを追加しました。この新たに作成した計算フィールドの情報はトピックにまだ反映されていません。トピックの設定を更新し、この計算フィールドの情報がトピックに含まれるようにします。
トピックを更新する前に、リンク済みのトピックを一度解除します。
トピックを開き、Data タブの DATA FIELDS で「ADD CALCULATED FIELD」をクリックします。
フレンドリーフィールド名として cancellation ratio
と入力し、先ほど作成した計算フィールドの計算式を入れて右上の SAVE をクリックします。
トピックに計算フィールドが追加できました。
計算フィールドはディメンション(データを分類・整理するための情報)であり、文字列データではないため、トピックに含まれるデータのインデックス(索引)に影響しません。そのため、インデックスの更新は不要です。
このハンズオンでは日本語データ項目を英語で質問したときに解釈できるようにトピックに様々なシノニムが設定されています。ここでもシノニムとして日本語で「解約比率
」と追加しておきます。
次に「NAMED ENTITY」タブを選択します。
NAMED ENTITY とは、フィールドの順序やランキングを定義するエンティティ設定のことです。曖昧な質問をされた場合でも、定義されたフィールドの関連性をもとに、複数のビジュアルで回答が提供されるようにします。
cancellation という Friendly name の定義が表示されるので、その右にある「...」をクリックし、Edit を選択します。
左の Data ペインから cancellation ratio を選択します。
Named Entity の FIELD RANKING の最後に追加されたことを確認し、右上の SAVE ボタンをクリックします。
8. Generative BI 機能をダッシュボード上でも使用できるように設定して公開
Data stories の作成、エグゼクティブサマリー、ダッシュボード上の Q&A を許可するチェックを入れダッシュボードを公開します。
9. Executive Summary
ここから Generative BIのQ&A機能を使用し、ストーリーを作成する のハンズオンとなります。
Executive Summary(エグゼクティブサマリー)機能とは、Generative BI の機能を使用して、ダッシュボード上に表示されたビジュアルや表からポイントとなるインサイト(洞察)を文章にして、箇条書きで表示してくれる機能です。わりとサラッとしてます。
ダッシュボードを開き、右上にある Build ボタンを選択して Executive Summary をクリックします。
エグゼクティブサマリーが出ました。これです。
契約状況
The sheet presents visuals related to cancellation counts and ratios across different prefectures in Japan.
Tokyo had the highest cancellation count at 146, followed by Osaka at 112 and Kanagawa at 88.
茨城 prefecture had the highest cancellation ratio at 43.82%, followed by 大分 at 43.3% and 長野 at 43.16%.
広島 prefecture had the highest cancellation ratio at 61.22%, followed by 山口 at 56.76% and 岩手 at 56.67%.
10. データ Q&A 機能
データ Q&A 機能では、自然言語で問い合わせることにより、複数のビジュアルを使った応答を生成し、インサイトを得やすいようにアシストしてくれる機能です。
ここではダッシュボードで問い合わせてみます。
ダッシュボード画面上部の「Ask a question about Customer Chun Prediction」をクリックします。
右から問い合わせるための画面が生えてくるので、「cancellation by total charge
(総額による解約)」と入力し、ASKボタンをクリックします。
複数のビジュアルを使った応答が生成されます。これは見栄えが良くてすごいです。
The total 全利用請求料金 is 10,663,505.49. There are 2 unique values for 解約. The top 解約 value for total 全利用請求料金 is True with 6,211,060.33, followed by False with 4,452,445.17. The table shows the breakdown of 全利用請求料金 by 解約 and 都道府県, with the first row showing 東京 prefecture having 356,782.68 for True 解約 and 255,643.71 for False 解約.
(機械翻訳)全利用請求料金の合計は10,663,505.49。 解約には2つのユニークな値があります。 全利用請求料金の解約値のトップは「真」で6,211,060.33、次いで「偽」で4,452,445.17。 表は全利用請求料金の解約・都道府県別内訳を示し、1行目は東京都の「真」が356,782.68、「偽」が255,643.71である。
11. データストーリー
データストーリー(Data stories)機能は、自然言語で問い合わせて、ダッシュボードのインサイトからアクションを促すレポートやプレゼン資料を自動生成する機能です。個人的には Q in QuickSight の機能の中で一番すごいなと思いました。
生成されたストーリーは編集可能で、デザインを変更したり、説明文のカスタマイズを Q に依頼したりできます。完成したストーリーは QuickSight ユーザーに共有できます。
ダッシュボードの右上 Build ボタンから「Data story」をクリックします。
「write a data story highlighting cancallation and renewal status and provide recommendation for retaining customers.
(解約と更新の状況を強調したデータストーリーを作成し、顧客を維持するための推奨事項を提供する。)」と入力し、「+ビジュアルを追加」をクリックします。
ダッシュボード上の全てのビジュアルにチェックを入れ、「ビルド」をクリックします。
データストーリーができました!
右上にストーリーを再構築できる旨のメッセージが出ているのを「DONE」をクリックして閉じます。
こんな感じで、
よくまとまってます。
すごい、ちゃんとレポートです。全部英語ですが。
エディター上部の筆マーク「ストーリースタイル」をクリックすると、エディター右側にストーリースタイルがいくつか表示されます。スタイルを変えると色味やデザインが変わります。
生成された文章は手作業で編集できます。
文章の形式を変えることもできます。文章を選択して Q アイコンをクリックすると、「長くする」、「短くする」、「箇条書きに変更」が選べます。今回は「箇条書きに変更」をクリックしてみます。
プレビューが表示されるので、「保持」をクリックすると、
箇条書きに変わりました。
ブロックの追加もできます。ブロックとブロックの間にカーソルを合わせると「ブロックを追加」のメニューが現れるのでクリックします。
挿入するブロックのスタイルを選択します。
ブロックが挿入できました。「/
」を入力し、
「ビジュアル」をクリックしてビジュアルを追加します。
挿入するビジュアルにチェックを入れ「追加」をクリックします。
ビジュアルが追加できました。
「プレビュー」でデータストーリー全体をプレビューできます。文字がふわっと出てくるエフェクトがかかっています。おしゃれなホームページのようです。
「共有」をクリックすると、他の QuickSight ユーザーにデータストーリーを共有できます。
特定の QuickSight ユーザーにアクセス許可を追加できます。
作成したデータストーリーはここに表示されます。
11-1. データストーリーの日本語化はできるか
[アップデート][プレビュー] QuickSight Q + 生成 BI 機能をさらに拡張した「Amazon Q in QuickSight」が発表されました #AWSreInvent | DevelopersIO を見ると、日本語の指示で日本語のデータストーリーを作成してくれるようなので試してみました。
画面右上の Q アイコンをクリックし、
「プロンプトでデータストーリーを作成」をクリックし、
日本語で
解約と更新の状況を強調した日本語のデータストーリーを作成し、顧客を維持するための推奨事項を提供してください。
と入力してビジュアルを選択し「ビルド」をクリックします。
うーん、再作成されましたが英語のままですね。
解約と更新の状況を強調した日本語のデータストーリーを作成し、顧客を維持するための推奨事項を日本語で提供してください。
と、「日本語」を強調して再構築してみます。
おお、一部が日本語、一部が英語のミックスされたデータストーリーができてしまいました。うまくいかないものですね…
11-2. データストーリーのエクスポートはできるか
データストーリーは PDF 出力できないのかなと思ったのですが、QuickSight の機能ではどうもできないようです。素晴らしいので出力できたら嬉しいなと思ったのですが……
通常の印刷機能で PDF 出力しようとすると、全体が出力できませんでした。
▲ 全体を PDF 印刷できないの図
終わりに
Q in QuickSight のハンスオンで、Q の機能に特化して紹介しました。ぜひハンズオン全体を試してみてください。個人的にはデータストーリーがやはりすごいなと思いました。
データセットを作成してそのまま自然言語で Q&A できるかというとそうではなく、まずはトピックというものを作成したうえでデータセットに対して Q&A できるようになります。場合によっては実データの内容を把握したうえでシノニムを細かく設定するなどのチューニングが必要な場合もあります。インデックスの更新などは今回触れなかったので別途学習します。
日本語でも英語でも思った通りの結果が返ってこない場合もあり、万能ではありませんが、ある程度のインサイトは提示してくれる感じです。帰ってきた応答が正しいかどうかは人間が確認して判断する必要があります。
東京リージョン未サポート、日本語未対応なので、対応するのが待ち遠しいです。
Q in QuickSight を有効に(プロロールのユーザーを作成)すると、ユーザー料金の他に別途月額 250USD かかりますので、検証の際は注意してください。
参考